'''对英文文本的词频进行统计，导入相关的库'''
import re
from collections import Counter

# 读取文件
with open('hamlet.txt', 'r') as f:
    text = f.read()

# 将文本转换为小写
text = text.lower()

# 使用正则表达式去除标点符号和数字
text = re.sub(r'[\W\d]+', ' ', text)

# 使用空格分割文本
words = text.split()

# 统计词频
counter = Counter(words)

'''使用字典表达词频，打印出现次数排在前10的单词的词频'''
print(dict(counter.most_common(10)))

# 输出结果
# {'the': 1143, 'and': 966, 'to': 762, 'of': 669, 'i': 631, 'you': 554, 'a': 546, 'my': 514, 'hamlet': 471, 'in': 451}
